﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VentaElectrodomesticos.Contrato;
using System.Data.SqlClient;

namespace VentaElectrodomesticos.Datos
{
    public class EmpleadoDAO : BaseDAO<Empleado>
    {
        protected override string getTableName()
        {
            return "persona";
        }
        protected override string getTableView()
        {
            return "empleados";
        }

        public override List<Empleado> getAll()
        {
            return base.getAll(new Empleado());
        }

        public List<Empleado> getAllIncludingAdmins(Empleado empleado) {
            List<SqlParameter> admins = new List<SqlParameter>();
            admins.Add(new SqlParameter("incluirAdministradores", "true"));
            return base.getAll(empleado,base.getDefaultStoreProcedureName(empleado), admins);
        }

        internal List<Empleado> getAllAnalistas()
        {
            Empleado entity = new Empleado();
            String sql = "Select * From " + Config.tableSpace + this.getTableView() + " Where _tipo = 'Analista' AND inactivo = 'false'; ";
            SqlDataReader reader = this.getRows(sql);
            return this.makeObjects(ref entity, reader);   
        }
    }
}
